﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Specialized;
using System.Globalization;

namespace PagamentoDigital {
    public class Produto {

        private string _codigo;
        private string _nome;
        private string _descricao;
        private int _quantidade;
        private double _valor;

        /** Properties **/

        public string Codigo {
            get {
                return _codigo;
            }
            set {
                _codigo = value;
            }
        }
        public string Nome {
            get {
                return _nome;
            }
            set {
                _nome = value;
            }
        }
        public string Descricao {
            get {
                return _descricao;
            }
            set {
                _descricao = value;
            }
        }
        public int Quantidade {
            get {
                return _quantidade;
            }
            set {
                _quantidade = value;
            }
        }
        public double Valor {
            get {
                return _valor;
            }
            set {
                _valor = value;
            }
        }

        public Produto() {
            this._quantidade = 1;
        }

        public Produto(string codigo, string nome, double valor)
            : this() {
                this._codigo = codigo;
                this._nome = nome;
                this._valor = valor;
        }

        public NameValueCollection GetParametros(CultureInfo culture, int index) {
            NameValueCollection nvc = new NameValueCollection();
            nvc.Add("produto_codigo_" + index, this._codigo);
            nvc.Add("produto_descricao_" + index, this._nome);
            nvc.Add("produto_extra_" + index, this._descricao);
            nvc.Add("produto_qtde_" + index, string.Format(culture, "{0}", this._quantidade));
            nvc.Add("produto_qtde_" + index, string.Format(culture, "{0:0.00}", this._valor));
            return nvc;
        }
    }
}
